Example on Images
Drag and drop your favourite image to a cell
Download original notebookImport[FileNameJoin[{"attachments", "tstballs-d08.png"}]]; img = ImageResize[%, 450]
You can work with it if it was a symbol
(*VB[*)(FrontEndRef["51f71dbd-f8ec-40ac-ac27-db2a77d4a3cb"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxqmmRumJKXoplmkJuuaGCQm6yYmG5nrpiQZJZqbp5gkGicnAQCWHBa0"*)(*]VB*) // ColorNegate
(*VB[*)(FrontEndRef["16820aa0-da8a-48bd-88c6-167a817a567a"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKG5pZGBkkJhropiRaJOqaWCSl6FpYJJvpGpqZJ1oYmieaAmkAgSwVcg=="*)(*]VB*)
And perform mathematical operations
(*VB[*)(FrontEndRef["51f71dbd-f8ec-40ac-ac27-db2a77d4a3cb"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxqmmRumJKXoplmkJuuaGCQm6yYmG5nrpiQZJZqbp5gkGicnAQCWHBa0"*)(*]VB*) - EdgeDetect[(*VB[*)(FrontEndRef["51f71dbd-f8ec-40ac-ac27-db2a77d4a3cb"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxqmmRumJKXoplmkJuuaGCQm6yYmG5nrpiQZJZqbp5gkGicnAQCWHBa0"*)(*]VB*)]
(*VB[*)(FrontEndRef["732db0a2-ab71-4211-af93-0f08308602a5"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxsbpSQZJBrpJiaZG+qaGBka6iamWRrrGqQZWBgbWJgZGCWaAgB9LxT1"*)(*]VB*)
Features detection
(*VB[*)(FrontEndRef["a0a6c82b-49b1-4774-b270-7b3a3f7ae148"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJxokmiVbGCXpmlgmGeqamJub6CYZmRvomicZJxqnmSemGppYAACBbRVr"*)(*]VB*); Image[%, "ImageResolution"->Automatic]; HighlightImage[%, {Yellow, ImageCorners[%, 1, .001, 5]}, ImageSize->300]
(*VB[*)(FrontEndRef["84598ea9-3b93-417b-b49f-d9e223d7778a"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKW5iYWlqkJlrqGidZGuuaGJon6SaZWKbpplimGhkZp5ibm1skAgB9DBVj"*)(*]VB*)
Machine learning
Using local neural networks one can perform classification
img = (*VB[*)(FrontEndRef["51f71dbd-f8ec-40ac-ac27-db2a77d4a3cb"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxqmmRumJKXoplmkJuuaGCQm6yYmG5nrpiQZJZqbp5gkGicnAQCWHBa0"*)(*]VB*); ImageCases[%, AcceptanceThreshold->0.1]
<|(*VB[*)(Entity["Concept", "Ball::qs4s5"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8KZgOKuOaVZJZUBrMDmc75ecmpBSXBIG1JiTk5AGA4Eb8="*)(*]VB*)->{(*VB[*)(FrontEndRef["1d93d899-ef96-4ed0-8a58-338e176dd390"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKG6ZYGqdYWFrqpqZZmumapKYY6FokmlroGhtbpBqam6WkGFsaAACC4hVk"*)(*]VB*),(*VB[*)(FrontEndRef["575205a0-52e6-4a50-a96b-1fb695f69fbb"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKm5qbGhmYJhromhqlmumaJJoa6CZamiXpGqYlmVmapplZpiUlAQB06xV2"*)(*]VB*),(*VB[*)(FrontEndRef["51a256ec-f944-46c0-8401-762ae8184490"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxomGpmapSbrplmamOiamCUb6FqYGBjqmpsZJaZaGFqYmFgaAAB4xRS3"*)(*]VB*)},(*VB[*)(Entity["Concept", "DiningTable::6ypqf"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWnMIB4vkAjLTC13SU3OL0osyS8KZgOKuOaVZJZUBrMDmc75ecmpBSXBPEB2SmZeZl66QkliUk4qAPxFFM0="*)(*]VB*)->{(*VB[*)(FrontEndRef["13c3bbce-7786-4b71-b172-0e38578bd8b2"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKGxonGyclJafqmptbmOmaJJkb6iYZmhvpGqQaW5iaWySlWCQZAQCDbBV1"*)(*]VB*)}|>
And then highlight it on image
HighlightImage[img, {AbsolutePointSize[20], ImagePosition[#, (*VB[*)(Entity["Concept", "Ball::qs4s5"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KWlMIB4nkHDNK8ksqXTKrwhmB/Kc8/OSUwtKgkHqkhJzcgBmZw1M"*)(*]VB*), AcceptanceThreshold->0.1] &}]
(*VB[*)(FrontEndRef["061a6a9d-754b-4e95-9ccd-3a603339bdd1"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKG5gZJpolWqbompuaJOmapFqa6lomJ6foGieaGRgbG1smpaQYAgCBexWi"*)(*]VB*)
Generating images
Image
can be used as a costructor as well
Image[((*GB[*){{1(*|*),(*|*)0(*|*),(*|*)0(*|*),(*|*)0.5}(*||*),(*||*){0(*|*),(*|*)1(*|*),(*|*)0(*|*),(*|*)0}(*||*),(*||*){0(*|*),(*|*)0(*|*),(*|*)1(*|*),(*|*)0}(*||*),(*||*){0.5(*|*),(*|*)0(*|*),(*|*)0(*|*),(*|*)1}}(*]GB*)), Magnification->50]
(*VB[*)(FrontEndRef["b318d91d-1bb7-4bd1-9ea4-863da4f761f3"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJxkbWqRYGqboGiYlmeuaJKUY6lqmJproWpgZpySapJmbGaYZAwCI1xXU"*)(*]VB*)
Image[RandomReal[1, {4, 5, 3}], Magnification->50]
(*VB[*)(FrontEndRef["53a916ca-e328-47f7-b451-80c307bdc11c"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxonWhqaJSfqphobWeiamKeZ6yaZmBrqWhgkGxuYJ6UkGxomAwB9nRVp"*)(*]VB*)
Using cellular automaton
Image[CellularAutomaton[30, {{1}, 0}, 40], "Bit", Magnification -> 5]
(*VB[*)(FrontEndRef["35f3b531-d842-4ee0-b319-a0ce28aebee4"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKG5umGSeZGhvqpliYGOmapKYa6CYZG1rqJhokpxpZJKYmpaaaAACAXxX3"*)(*]VB*)
Create image from a reigon
RegionImage[Annulus[], RasterSize->150]
(*VB[*)(FrontEndRef["88d91f1b-947d-445f-93cc-cd14dbacab88"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKW1ikWBqmGSbpWpqYp+iamJim6VoaJyfrJqcYmqQkJSYnJllYAACG1hZA"*)(*]VB*)
Create linear gradient and combine it with a previous image
(*FB[*)((LinearGradientImage[{{Left, Bottom}, {Right, Top}} -> "Rainbow", {150, 150}] + %)(*,*)/(*,*)(2))(*]FB*)
(*VB[*)(FrontEndRef["32f5e032-d159-461b-bfc1-37adeaec099f"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKGxulmaYaGBvpphiaWuqamBkm6SalJRvqGpsnpqQmpiYbWFqmAQCA+RX+"*)(*]VB*)
Rasterization of WL expressions (experimental)
Rasterize[Plot[x, {x,0,1}, ImageSize->250]]
(*VB[*)(FrontEndRef["afeeeae5-3716-4ac6-9c96-9e9690483767"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJ6alpqYmpprqGpsbmumaJCab6VomWwKJVEszSwMTC2NzM3MAlMUVlw=="*)(*]VB*)
Or expression
Rasterize[x+y]
(*VB[*)(FrontEndRef["6574d28a-d383-4d8e-bd79-a8d29c89d46e"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKm5mam6QYWSTqphhbGOuapFik6ialmFvqJlqkGFkmW1immJilAgCBwxXE"*)(*]VB*)
Generate an animation
AnimatedImage[Rasterize[Style[#, 40]] & /@ Range[0, 9], FrameRate -> 6]